草庐IT

ios - 打开 Apple map 进行导航,并设置目的地名称

全部标签

ruby - `Kernel` 的目的是什么?

Kernel模块的用途是什么?如果当前在Kernel上定义的所有内容都在Object上定义,并且没有Kernel这样的模块,会有什么变化?当我想定义一个可以在任何对象上调用的方法时,我应该在Kernel上还是在Object上定义它? 最佳答案 我将从一个问题开始:self在一个典型的Kernel中会是什么?puts之类的方法?puts中最接近有意义的self的可能是Ruby运行时本身。同样对于其他“真正想成为函数的方法”,如Array或fork.因此,您可以将Kernel视为方法的垃圾场,这些方法或多或少是Ruby本身的命令或消息。

ruby - 有没有办法设置$的值?在 Ruby 的模拟中?

我正在测试一些与系统命令交互的脚本。它们的逻辑取决于系统命令的返回码,即$?的值。因此,作为一个简化的示例,脚本可能会说:deffoo(command)output=`#{command}`if$?==0'succeeded'else'failed'endend为了能够正确测试这些方法,我希望能够将内核反引号调用stub,并设置$?到任意值,以查看我是否在反引号调用后从方法中的逻辑中获得适当的行为。$?是一个只读变量,因此以下内容不起作用:$?=some_number我可以做一些简单的事情:例如,设置$?为零或非零。例如,将设置$?到0或35212(无论如何在我的系统上),取决于$?的

ruby - RSpec:使用线程进行测试

在RSpec中,我有创建新线程的函数,并在该线程内执行一些操作——在我的例子中,调用TCPSocket#readline。这是现在的功能:defreadThread.newdowhileline=@socket.readline#TODO:stuffendendend由于线程调度,如果这样写我的测试会失败:it"readsfromsocket"dosubject.socket.should_receive(:readline)subject.readend目前我知道解决这个问题的唯一方法是使用sleep0.1。有没有办法适本地延迟测试,直到该线程运行? 最佳

ruby - 如何在 Jekyll 的主页上按日期对帖子进行分组?

在Jekyll中,我希望我的主页列出按日期分组的最新帖子,如下所示:2013年9月6日发布1后2后32013年9月5日发布1后2基本上,当循环中的帖子与之前处理的日期不同时,我只想吐出一个日期标题。我试图通过测试for循环中的下一篇文章是否与上一篇文章的日期匹配来实现这一点,并且只有在不匹配时才显示日期标题。这是我的Liquid模板的样子:---layout:defaulttitle:HomePage---{%assignthedate=''%}{%forpostinsite.posts%}{%ifthedate!=post.date|date:"%m-%d-%Y"%}{{post.d

ruby - 使用 RVM,但无法设置当前的 Ruby 版本 (Ubuntu 11.10)

我最近在全新安装的Ubuntu11.10上安装了RVM,但不知道如何开始使用特定的ruby​​版本。我已经安装了Ruby1.8.7和1.9.2,它们在列表中显示得很好:$rvmlistrvmrubiesruby-1.8.7-p352[i386]ruby-1.9.2-p290[i386]当我尝试使用“use”命令时,一切似乎都很好:$rvmuse1.9.2Using/usr/share/ruby-rvm/gems/ruby-1.9.2-p290Running/usr/share/ruby-rvm/hooks/after_use但是当我测试当前的ruby​​版本时,我得到了当你根本没有RV

ruby - 使用 oAuth token 进行 API 调用

我想在Ruby中发出oAuth请求。我浏览了一些示例,但没有一个使用oauth_token_secret和oauth_token来发出请求,他们只使用consumer_key和consumer_secret来获取oauth_token_secret和oauth_token。但是我已经有了oauth_token_secret和oauth_token。比如我试过的这个require'rubygems'require'oauth'consumer=OAuth::Consumer.new(consumer_key,consumer_secret,{:site=>"https://www.goo

ruby - Net::HTTP 中的服务器名称指示支持?

我正在尝试让Ruby的Net::HTTP实现与SNI一起工作。mail.google.com和gmail.com都位于同一个IP地址上,因此当通过SSL连接时,Google服务器需要知道要使用哪个证书。默认情况下,它会返回mail.google.com证书,如果您尝试实现WebFinger,这就是一个问题。WebFinger要求您检索https://gmail.com/.well-known/host-meta以获取LRDD信息,但是,出于安全原因,验证SSL证书至关重要信息。由于Google在这种情况下提供默认的mail.google.com证书,因此SSLpost_connecti

ruby - 如何停止使 tmux 自动设置 RBENV_VERSION

当我启动tmux时,tmux会自动设置RBENV_VERSION...有人知道怎么阻止吗?因为它会自动设置,所以我需要做$导出RBENV_VERSION取消设置并使.ruby-version工作。谢谢。 最佳答案 tmux本身永远不会自行设置(或取消设置)RBENV_VERSION。您有一些配置导致了这种情况。我的猜测是RBENV_VERSION是在您启动tmux服务器时设置的,它现在是tmux“全局环境”(所有继承的基础环境)的一部分tmux启动的进程)。你可以检查这个tmuxshow-environment-g|grepRBEN

ruby-on-rails - 无法让 Paperclip 正确设置我的 S3 URL

我在Rails4应用程序中使用回形针和aws-sdkgem。我在paperclip.rb配置中定义了:path选项,没有:url选项:Paperclip::Attachment.default_options[:path]=":class/:attachment/:id_partition/:style/:filename"它会像这样保存我上传的图片:http://s3.amazonaws.com/mybucket-development/profiles/avatars/000/000/026/original/image_file_name.png?1420575189没问题,它被

ruby - Rack Session Cookie 和 Sinatra - 设置和访问数据

我使用的是RackSessionPool,但是我的用户会从一个Web服务器线程被踢到另一个线程,从而导致session数据过期。我开始只是在Sinatra中启用:sessions来玩弄,但是我无法使用它,因为我有多个使用Sinatra的应用程序(它似乎正在使用相同的key-不确定这是否是因为它是同一主机)因为我的应用程序会互相破坏,所以我现在正在尝试RackSessionCookie并设置变量(与启用:sessions相同,但您可以设置变量)太棒了!但是现在我无法按照我在RackSessionPool和enable:sessions中使用它的方式访问session数据session[: